package com.ctsi.system.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import com.ctsi.core.database.entity.BaseEntity;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.time.LocalDate;
import java.time.LocalDateTime;

/**
 * @version 1.0
 * @author: wang xiao xiang
 * @date: 2021/8/9 16:37
 */
@Data
@TableName("mars_sys_user")
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "User对象", description = "系统用户表")
@JsonIgnoreProperties(ignoreUnknown = true)
public class User extends BaseEntity {

    private static final long serialVersionUID = 1L;

    /**
     * 账号
     */
    @ApiModelProperty(value = "账号")
    private String account;
    /**
     * 密码
     */
    @ApiModelProperty(value = "密码")
    private String password;
    /**
     * 昵称
     */
    @ApiModelProperty(value = "昵称")
    private String nickName;
    /**
     * 姓名
     */
    @ApiModelProperty(value = "姓名")
    private String name;
    /**
     * 头像
     */
    @ApiModelProperty(value = "头像")
    private String avatar;
    /**
     * 生日
     */
    @ApiModelProperty(value = "生日")
    private LocalDate birthday;
    /**
     * 性别(字典 1男 2女 3未知)
     */
    @ApiModelProperty(value = "性别(字典 1男 2女 3未知)")
    private Integer sex;

    /**
     * 邮箱
     */
    @ApiModelProperty(value = "邮箱")
    private String email;
    /**
     * 手机
     */
    @ApiModelProperty(value = "手机")
    private String phone;
    /**
     * 电话
     */
    @ApiModelProperty(value = "电话")
    private String tel;
    /**
     * 最后登陆IP
     */
    @ApiModelProperty(value = "最后登陆IP")
    private String lastLoginIp;
    /**
     * 最后登陆时间
     */
    @ApiModelProperty(value = "最后登陆时间")
    private LocalDateTime lastLoginTime;
    /**
     * 管理员类型（0超级管理员 1非管理员）
     */
    @ApiModelProperty(value = "管理员类型（0超级管理员 1非管理员）")
    private Integer adminType;
    /**
     * 状态（字典 0正常 1冻结 2删除）
     */
    @ApiModelProperty(value = "状态（字典 0正常 1冻结 2删除）")
    private Integer status;
    /**
     * 删除标识
     */
    @ApiModelProperty(value = "删除标识")
    private Integer isDeleted;
    /**
     * 租户ID
     */
    @ApiModelProperty(value = "租户ID")
    private Integer tenantId;
}

